#ifndef LOADER_H
#define LOADER_H

#include <string>

//#include "bga/system/ConfigDLL.h"
#include "bga/system/BoardHellException.h"
#include "bga/system/File.h"

/*!
 * \namespace bga
 *
 */
namespace bga
{

template< typename T >
class /*BOARD_HELL_ENGINE */Loader
{
    public:
        Loader(){};
        virtual ~Loader(){};

        virtual T* load(File& file)
        {
            /// TODO: Implement a system of exception.
            /// Here, throw an exception to tell unrecognized format
            throw BoardHellException("File format not supported yet");
        }
};

}

#endif // LOADER_H

